// pages/report/detail/index.js
Page({

  /**
   * 页面的初始数据
   */
  data: {
    report: null,
    loading: true,
    error: false
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    if (!options.id) {
      this.setData({ 
        loading: false,
        error: true 
      });
      wx.showToast({
        title: '参数错误',
        icon: 'error'
      });
      return;
    }
    this.getReportDetail(options.id);
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload() {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage() {

  },

  // 获取报告详情（使用模拟数据）
  async getReportDetail(reportId) {
    try {
      this.setData({ loading: true, error: false });
      
      // 模拟数据
      const mockReports = {
        '1': {
          _id: '1',
          date: '2024-03-21',
          score: 85,
          efficiency: 85,
          deepSleepDuration: '2h15m',
          sleepTime: '23:00',
          wakeTime: '07:15'
        },
        '2': {
          _id: '2',
          date: '2024-03-20',
          score: 75,
          efficiency: 78,
          deepSleepDuration: '1h45m',
          sleepTime: '23:30',
          wakeTime: '07:00'
        },
        '3': {
          _id: '3',
          date: '2024-03-19',
          score: 65,
          efficiency: 70,
          deepSleepDuration: '1h30m',
          sleepTime: '00:00',
          wakeTime: '07:00'
        }
      };

      // 模拟网络延迟
      await new Promise(resolve => setTimeout(resolve, 500));

      const reportData = mockReports[reportId];
      if (!reportData) {
        throw new Error('未找到报告数据');
      }

      // 处理睡眠质量文本
      const qualityText = this.getQualityText(reportData.score);
      // 处理改善建议
      const suggestions = this.getSuggestions(reportData);

      this.setData({
        report: {
          ...reportData,
          qualityText,
          suggestions
        },
        loading: false
      });
    } catch (error) {
      console.error('获取报告详情失败:', error);
      this.setData({ 
        loading: false,
        error: true 
      });
      wx.showToast({
        title: '获取报告详情失败',
        icon: 'error'
      });
    }
  },

  // 返回上一页
  goBack() {
    wx.navigateBack();
  },

  // 根据分数获取睡眠质量评估文本
  getQualityText(score) {
    if (score >= 80) {
      return '您的睡眠质量非常好，请继续保持良好的睡眠习惯。';
    } else if (score >= 60) {
      return '您的睡眠质量一般，还有改善的空间。';
    } else {
      return '您的睡眠质量较差，建议及时调整作息时间。';
    }
  },

  // 根据报告数据生成改善建议
  getSuggestions(reportData) {
    const suggestions = [];
    
    if (reportData.efficiency < 80) {
      suggestions.push('提高睡眠效率：尽量保持规律的作息时间，避免在床上做与睡眠无关的事情。');
    }
    
    if (reportData.deepSleepDuration.includes('1h')) {
      suggestions.push('增加深睡时长：保持安静的睡眠环境，避免睡前剧烈运动和饮用含咖啡因的饮品。');
    }

    if (reportData.score < 60) {
      suggestions.push('改善整体睡眠质量：建议进行适度运动，保持规律的作息时间，营造舒适的睡眠环境。');
    }

    if (suggestions.length === 0) {
      suggestions.push('继续保持良好的睡眠习惯，定期记录和监测睡眠状况。');
    }

    return suggestions;
  }
})